empty properties, since we do not know the default GParamSpec values.
#472981 (Carlos Garnacho)
+ * gtk/gtk-builder-convert (GtkBuilder._packing_prop_to_child_attr):
+ Do not iterate recursively over all child nodes.
+ (GtkBuilderConverter._default_widget_converter): Use a more efficient
+ way of iterating over all property nodes
+ #472974 (Carlos Garnacho)
+
2007-09-03 Emmanuele Bassi <ebassi@gnome.org>
* gtk/gtkrecentmanager.c
signals.append(child)
return signals
+def get_property_nodes(node):
+ assert node.tagName == 'object'
+ properties = []
+ for child in node.childNodes:
+ if child.nodeType == Node.TEXT_NODE:
+ continue
+ if child.tagName == 'property':
+ properties.append(child)
+ return properties
+
def get_accelerator_nodes(node):
assert node.tagName == 'object'
accelerators = []
def _default_widget_converter(self, node):
klass = node.getAttribute("class")
- for prop in node.getElementsByTagName("property"):
- if prop.parentNode is not node:
- continue
+ for prop in get_property_nodes(node):
prop_name = prop.getAttribute("name")
if prop_name == "sizegroup":
self._convert_sizegroup(node, prop)
def _packing_prop_to_child_attr(self, node, prop_name, prop_val,
attr_val=None):
- for child in node.getElementsByTagName("child"):
+ for child in get_child_nodes(node):
packing_props = [p for p in child.childNodes if p.nodeName == "packing"]
if not packing_props:
continue